Non-transitory computer-readable recording medium, information processing apparatus and printing method

ABSTRACT

When a general-use printing program receives a print instruction to cause a printer to execute printing of an image, a supporting program receives a print parameter used for processing intermediate image data. When the print parameter includes a setting of image combining of combining a watermark with an image subjected to printing in accordance with the print instruction, the supporting program causes a PC to generate a watermark to be combined with the image subjected to printing.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. Ser. No.16/795,737 filed on Feb. 20, 2020 and claims priority under 35 U.S.C. §119 from Japanese Patent Application No. 2019-064939 filed on Mar. 28,2019. The entire subject matter of each of the applications isincorporated herein by reference.

BACKGROUND

The technical field disclosed in the present specification relates to anon-transitory computer-readable recording medium containinginstructions realizing a supporting program which supports control of aprinter, an information processing apparatus and a printing method.

RELATED ART

There has been widely known a technique to control a printer from aninformation processing apparatus such as a personal computer, aconfiguration of installing a printer driver in the informationprocessing apparatus, generating print data using the printer driver andtransmitting the print data to the printer. The printer driver isprovided by a manufacturer of the printer and is adapted to variousfunctions the printer has, and thus can make full use of the printer.

SUMMARY

Recently, a technique of controlling a printer using a general-useprinting program which is standardly implemented in an operating system(OS), without using the above-mentioned printer driver, has been inpractical use. According to such a technique, upon detecting a printer,the OS associates the printer with the OS-standard general-use printingprogram. Thereafter, it becomes possible that, when the OS receives aprint instruction corresponding to the printer, printing is executedusing the OS-standard general-use printing program, without using theprinter driver.

However, in the printing using the OS-standard general-use printingprogram, selectable setting items when selecting print parameters aregeneral items that are registered in the OS-standard general-useprinting program. Therefore, the printing using the general-use printingprogram is inconvenient for the user as the general-use printing programdoes not support setting items that are intrinsic to the printer or theprinter driver and thus there is room for improvement.

The present specification discloses a technique for realizing imagecombining of combining a specific object with an image subjected to beprinted designated by the print instruction in an information processingapparatus to which an OS-standard general-use printing program isimplemented.

According to aspects of the present disclosure, there is provided anon-transitory computer-readable recording medium for an informationprocessing apparatus, the information processing apparatus having acontroller, the recording medium containing computer-executable programsrealizing a supporting program corresponding to a printer connectable tothe information processing apparatus. The supporting program causes,when executed by the controller, the information processing apparatus toperform a receiving process when a print instruction is input to ageneral-use printing program, the print instruction causing the printerto execute printing of an image, the general-use printing program beinga program implemented in an operating system of the informationprocessing apparatus, the receiving process being a process of receivinga print parameter of printing corresponding to the print instruction,the print parameter including a setting of image combining, the imagecombining being a process of combining a specific object with a targetimage, the target image being an image subjected to printing based onthe print instruction, and a generating process of generating specificdata to be combined with generated data, the generated data beinggenerated by the general-use printing program based on the target image,the target image being an image subjected to printing when the settingof the image combining is received in the receiving process.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1 is a block diagram showing an electrical configuration of a printsystem of the first embodiment.

FIG. 2 is a sequential chart showing an example an order of operationsby respective programs.

FIG. 3 is a diagram of a UI showing an example of a print parameterediting screen.

FIGS. 4A-4D are conceptual images showing examples of printedwatermarks.

FIG. 5 is a diagram showing a concept of a process for combining images.

FIG. 6 is a sequential chart showing an example of an order ofoperations by respective programs in the second embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENT First Embodiment

Hereinafter, referring to the accompanying drawings, a print systemusing programs according to the embodiment will be described in detail.The present embodiment shows a concrete example of the print systemincluding a personal computer (hereinafter, referred to as a “PC”) and aprinter.

An example of a configuration of a print system in which programsaccording to the embodiment are executed is shown in FIG. 1 . The systemshown in FIG. 1 includes a PC 1, a printer 2 and a printer 3. The PC 1is an example of an information processing apparatus. The printer 2 andthe printer 3 are devices having a printing function and are configuredto communicate with the PC 1 through a local communication or a networkcommunication. It is noted that a plurality of printers 2 may beconnected to the PC 1.

As shown in FIG. 1 , the PC 1 includes a controller 10, a user interface(hereinafter, referred to as a “UI”) 20 and a communication interface(hereinafter, referred to as a “communication I/F”) 30. The UI 20 andthe communication I/F 30 are electrically connected to the controller10.

The UI 20 includes hardware configured to display various pieces ofinformation and receive user's input of instructions. The UI 20 mayinclude a touch panel having both an input receiving function and adisplaying function, or a combination of a display having a displayingfunction and a keyboard and/or a mouse having an input receivingfunction.

The communication I/F 30 includes hardware configured to communicatewith the printer 2 and a hardware configured to access the Internet. Thecommunication I/F 30 may include multiple interfaces respectivelyemploying different communication methods. Examples of the communicationmethods may include the network communication, a USB communication andthe like. Further, the communication methods may be wired or wireless.

The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is anexample of a computer. The memory 12 includes a ROM, a RAM, anon-volatile memory and a buffer of the CPU 11, and stores variousapplication programs (hereinafter, referred to as “APP's”) and variouspieces of data. According to the present specification, details of thememories could be ignored and any memory having a suitable functioncould be employed as the memory 12. The CPU 11 executes variousprocesses in accordance with programs retrieved from the memory 12 or inaccordance with user's instructions. It is noted that the controller 10in FIG. 1 is a collective name including hardware and software used tocontrol the PC 1 and does not necessarily represent a single piece ofhardware.

An example of the memory 12 may be a computer-readable storage medium.The computer-readable storage medium is a non-transitory medium.Examples of the non-transitory medium are, besides the above-describedmemory 12, recording mediums such as a CD-ROM, a DVD-ROM and the like.It is noted that the non-transitory medium is also a tangible medium. Incontrast, an electric signal carrying a program, which is beingdownloaded from a server on the Internet, is a signal medium which is akind of computer-readable media, but not included in the non-transitorycomputer-readable medium.

The memory 12 stores, as shown in FIG. 1 , the OS 21 implemented with ageneral-use printing program 41, a supporting program 42 and an editingAPP 43. The supporting program 42 is an example of a supporting program.The supporting program 42 is, for example, a hardware support APP(abbreviated as HSA) of which specification is published by MicrosoftCorporation. The OS 21 is, for example, Microsoft Windows®, MacOS® orLinux®. It is noted that, in the memory 12, in addition to the data/APPshown in FIG. 1 , various pieces of data including information regardingconnected device, various programs of browser and the like are stored.

The general-use printing program 41 is an APP to cause various printerssuch as the printer 2 to execute printing from the PC 1 and is anOS-standard printing program which is implemented in the OS 21 inadvance. The general-use printing program 41 according to the presentembodiment is configured to generate print data the printer can use forprinting based on image data subjected to be printed.

The general-use printing program 41 is a general-purpose APP which canbe used for any of a plurality of models of printers supplied by variousprinter venders. The general-use printing program 41 is configured tocause any of the plurality of models of printers to perform operationswhich are commonly implemented in the plurality of models of printers.Alternatively, the general-use printing program 41 may be a programsupplied from the printer venders to a vender of the OS 21 (e.g., theprogram may be a kind of printer driver, which is supplied by a printervender, to be implemented in the OS 21 in advance) so that thegeneral-use printing program 41 is implemented in the OS 21 in advance.

The supporting program 42 is a program which executes processes based onthe instruction by the OS 21 in association with the startup of thegeneral-use printing program 41 and an APP which supports controlling ofhardware, such as the printer 2, subjected to the instruction. Thesupporting program 42 is started, for example, by the general-useprinting program 41. The supporting program 42 is a program that isprepared by printer venders, such as a vender of the printer 2, for eachtype of printers. For example, a supporting program 42 for inkjetprinters and a supporting program 42 for laser printers are prepared.The supporting program 42 may be prepared not only for each type ofprinters but also for each model or for each model series of printers.

The vender of the printer registers the supporting program 42 with aplatform supplied by the vender of the OS 21 in accordance with aprocedure designated by the vender of the OS 21. When a printer 2 isnewly connected to the PC 1 and the supporting program 42 correspondingto the printer 2 is registered with the platform, the OS 21 downloadsthe supporting program 42 from a sever in which the supporting program42 is stored and implements the same in the PC 1.

Then, the OS 21 associates identification information of the implementedsupporting program 42 with the printer information of the newlyconnected printer 2 and stores the same in the memory 12. In the PC 1 towhich a plurality of models of printers are connected, a plurality ofsupporting programs respectively corresponding to a plurality of typesof the plurality of models are implemented in the OS 21, and informationassociating the plurality of printers with the plurality of supportingprograms is stored in the memory 12. That is, in the memory 12, as theprinter information for each of the printers connected to the PC 1,information on the supporting program 42 corresponding to each printeris stored in addition to the model information and the accessinformation of each printer.

The editing APP is, for example, an APP for generating and/or editingimage data and document data. Examples of the editing APP 43 areMicrosoft Word® and Power Point®. Further, the editing APP 43 may be anAPP provided by the vender of the printer 2 and/or printer 3. Theediting APP 43 is configured to receive a user operation including aninstruction to cause the printer 2 to perform a particular operation.Specifically, for example, the editing APP 43 is configured to receive,through the UI 20, a selection of an image subjected to printing,settings of the print parameters, and a print instruction which causesthe printer 2 to execute printing. The image subjected to printing is anexample of a target image.

It is noted that processes and process steps of each sequential chartdescribed below basically indicate processes of the CPU 11 in accordancewith instructions described in respective programs such as thesupporting program 42. That is, in the following description of theprocesses and steps, terms “determine,” “extract,” “select,”“calculate,” “identify,” “obtain,” “receive,” “control” and the like arethose performed by the CPU 11. It is noted that the processes by the CPU11 include controlling of hardware using an API of the OS 21. In thefollowing description, operations of the programs will be described withomitting the detailed description of the OS 21. That is, in thefollowing description, a description “a program B controls hardware C”may be interpreted to “a program B uses the API of the OS 21 to controlthe hardware C.” Further, a process of the CPU 11 in accordance with theinstruction described in a program may be described in a simplifiedmanner. For example, the name of the program is omitted and simplydescribed such that “the CPU 11 performs.” Further, a process of the CPU11 in accordance with an instruction described in the program may bedescribed in a simplified manner such that “the program A performs” withomitting the term “CPU.”

It is noted that the term “obtain” is used to mean that a request is notnecessarily be made. That is, a process of the CPU 11 to receive datawithout any request is included within a concept that “the CPU 11obtains data.” Further, the term “data” in the present specification isused to mean a bit array readable by a computer. Multiple pieces of datahaving different formats but substantially the same contents will betreated as the same data. So is the information in the presentspecification. It is noted that terms “request” and “instruct” representconcepts of outputting information indicating something is requested andinformation indicating something is instructed, respectively. It is alsonoted that information representing something is requested or somethingis instructed may be simply referred to by terms “request” or“instruct.”

Further, a process of the CPU 11 to determine whether or not informationA indicates an event B may be described conceptually such that “the CPU11 determines whether event B or not based on information A.”Furthermore, a process of the CPU 11 to determine whether informationindicates event B or event C may be described conceptually such that“the CPU 11 determines whether event B or event C based on informationA.”

Next, a configuration of the supporting program 42 of the presentembodiment and an example of a printing procedure, including operationsof the supporting program 42, will be described with reference to asequential chart shown in FIG. 2 . The supporting program 42 is aprogram which is instructed to be executed by the general-use printingprogram 41 when a print instruction instructing to execute printingusing the general-use printing program 41 is received through theediting APP 43 in a state where a printer corresponding to thesupporting program 42 is designated. In the following description, acase where the PC 1 received an instruction through the UI 20 (e.g., bythe editing APP 43) to execute printing with the printer 2 using thegeneral-use printing program 41 in a state where image data subjected tobe printed is designated and the supporting program 42 corresponding toa type of a model of the printer 2 is implemented in the PC 1 will bedescribed.

Firstly, the editing APP 43 receives, through the UI 20, designation ofan image subjected to be printed and an instruction to execute printing(arrow A). An image that the editing APP 43 displays is an example of animage subjected to be printed. The editing APP 43 displays, for example,documents edited with the editing APP 43 and pictures and the like readwith the editing APP 43 as images. For example, the editing APP 43displays a print setting screen in a state where an image is displayedand receives settings of the print parameters. Then, upon receiving theprint instruction, the editing APP 43 delivers a print executionnotification indicating contents of the received print instruction tothe OS 21. It is noted that, in FIG. 2 , operations of the OS 21 areomitted.

When the print execution notification indicating usage of thegeneral-use printing program 41 is received, the OS 21 executes thegeneral-use printing program 41 and delivers the print executionnotification to the general-use printing program 41 (arrow B). Thegeneral-use printing program 41 can obtain, through the print executionnotification, various pieces of information included in the printinstruction such as information indicating a printer to be caused toexecute printing, information indicating print parameters being set withthe APP, information indicating image data subjected to be printed andinformation for identifying a user who instructed to execute printing.It is noted that, as will be described later, these pieces ofinformation can be used in the supporting program 42 as well.

The general-use printing program 41 generates the intermediate imagedata by converting a format of the image data included in the printexecution notification to a format of the intermediate image data andgenerates a print job including the intermediate image data (arrow C).There are various types of image data as the image data included in theediting APP 43, and the general-use printing program 41 convertsreceived image data to an intermediate image data suitable for thegeneration of the print data. It is noted that, if the image dataincluded in the print execution notification is suitable for generatingthe print data, the generating of the intermediate image data may beomitted and the image data may be directly used as the intermediateimage data. The intermediate image data is, for example, XPS formatdata.

The general-use printing program 41 further identifies a printerdesignated as a device to be caused to execute printing based on theinformation included in the print execution notification. For example,when the printer 2 is designated as the device to be caused to executeprinting, the general-use printing program 41 identifies the model ofthe printer 2 based on the model information of the printer included inthe printer information stored in the memory 12. Then, since thesupporting program 42 corresponding to the printer 2 designated by theprint instruction is stored in the memory 12, the general-use printingprogram 41 activates the supporting program 42 by outputting anexecution command to cause the supporting program 42 to executeprocesses (arrow D).

Upon obtaining the intermediate image data by receiving the executioncommand (arrow D), the supporting program 42 causes the UI 20 to displaya print parameter editing screen for receiving settings of the printparameters and receives the settings of the print parameters (arrow E).The process at the arrow E is an example of a receiving process.

The print parameters include general-use parameters to which thegeneral-use printing program 41 is adapted and specific parameters towhich the general-use printing program 41 is not adapted. Thegeneral-use parameters are, for example, parameters for setting thesheet size and the color/monochromatic printing. The specific parametersare, for example, intrinsic parameters intrinsic to the printer. Theintrinsic parameters are, for example, parameters for setting awatermark. The watermark is an image to be printed while being combinedwith an image subjected to be printed in a predetermined density and,for example, a transparent image. The watermark is, for example, animage to be combined for preventing information leakage (e.g., a logoindicating that confidential information is included) or a characterstring such as “COPY”. The density of the watermark may be changeablearbitrarily. Through the print parameter editing screen, the supportingprogram 42 may receive only the specific parameters or may receive boththe specific parameters and the general-use parameters.

For example, as shown in FIG. 3 , when the watermark is selected fromextended functions displayed in a print parameter editing screen D1, thesupporting program 42 causes the UI 20 to display a watermark settingscreen DA1. To the watermark setting screen DA1, check boxes C10 andC14, a watermark selection box B10, a watermark setting box B12, an OKbutton A14 and an EDIT button A12 are provided.

When the check box C10 is not checked, a setting for not printing awatermark will be made, and when the check box C10 is checked, forexample, as shown in FIGS. 4A-4D, a setting for printing a watermark G2will be made. When the check box C14 is checked, a setting for printingthe watermark G2 as outline characters is made. The outline character isa character that is printed by drawing an outline of the characterwithout filling inside the character.

In the watermark selection box B10, watermarks that are registered inthe supporting program 42 are displayed in a selectable manner. When theEDIT button A12 is operated, the supporting program 42 displays awatermark editing screen which is not shown in the drawings, and thusthe user can edit a watermark selected in the watermark selection boxB10 through the watermark editing screen. In the not-shown watermarkediting screen, for example, contents, font, color, a position within animage subjected to be printed, size, tilt and a placing plane of awatermark can be set. Furthermore, in the not-shown watermark editingscreen, the density of the watermark for printing can be set. The lowera setting value of the density, the paler the printed watermark. Thewatermark setting box B12 is a box for selecting pages on which thewatermark is to be printed and, for example, when all the pages areselected, even when executing 2-in-1 printing (i.e., aggregationprinting of printing two pages on one side of one sheet), one watermarkG2 will be printed on each page as shown in FIG. 4D.

It is noted that, as shown in FIG. 4C, a setting for printing onewatermark G2 on one sheet when executing the 2-in-1 printing is alsopossible. Furthermore, for example, when arranging a plurality ofwatermarks on one page, settings concerning the watermarks can beperformed separately. The settings of a watermark are examples of asetting concerning image combining, and the watermark G2 is an exampleof a specific object.

When the OK button A14 is operated through the UI 20, the supportingprogram 42 receives print parameters that has been input through the UI20 and stores the print parameters in the memory 12.

The settings of a watermark may include first settings to be used to adda watermark by changing contents of intermediate image data (e.g.,changing contents of XPS-format intermediate image data), and secondsettings to be used to add a watermark in a manner different from thechanging of contents of intermediate image data.

Specifically, for example, as shown in FIG. 4A, the first settings are asettings for printing the watermark G2 with standard characters. Forexample, the first settings include a setting value indicating “placethe watermark on the foremost plane of an image subjected to be printed”in settings of the watermark placing plane, a setting values indicating“place standard characters” in settings for placing characters, and theremaining setting values concerning the standard characters (e.g., aposition within an image subjected to be printed, size, tilt and font ofthe standard characters).

In order to arrange the watermark G2 for example as shown in FIG. 4B,the setting value of the watermark placing plane is set to “place thewatermark on the rearmost plane of an image subjected to be printed” inplace of “place the watermark on the foremost plane of an imagesubjected to be printed”. Furthermore, for example, if images such asthe logo indicating that confidential information is included areregistered in a storage area that the general-use printing program 41can use, settings concerning such images will be included in the firstsettings. In this case, the first settings include, for example, asetting value of the watermark placing plane, a setting value indicatingthat an image is to be placed, and the remaining setting valuesconcerning the image (e.g., a position within an image subjected to beprinted, size and tilt of the image and information indicating a placewhere the image is stored).

On the other hand, the second settings are, for example, settings whichdoes not correspond to the examples of the first settings describedabove. For example, the second settings include settings for printingthe watermark G2 shown in FIG. 4A in outline characters. In this case,the second settings include a setting value of the watermark placingplane, a setting value indicating “place outline characters” amongsettings indicating that characters are to be placed, and the remainingsetting values concerning the outline characters (e.g., a positionwithin an image subjected to be printed, size, tilt and font of theoutline characters).

It is noted that the second settings may include a setting valueindicating “place the watermark between specific layers of an imagesubjected to be printed” among settings of the watermark placing plane,for example, a setting for placing a watermark between the first layerand the second layer, and the remaining setting values when such settingvalue is set. When an image registered in a storage area for thesupporting program 42 is used for a watermark, the second settings mayinclude settings concerning the image.

Furthermore, for example, when placing the character string “COPY” instandard characters and the character string “COPY” in outlinecharacters on the same page, print parameters of an image subjected tobe printed include settings concerning the character string “COPY” instandard characters, that is, the first settings, and settingsconcerning the character string “COPY” in outline characters, that is,the second settings.

Referring back to FIG. 2 , the supporting program 42 which receivedsettings of the print parameters checks whether the received printparameters include settings concerning a watermark or not (arrow F). Forexample, the supporting program 42 determines that the received printparameters include settings of a watermark if, at the arrow E, operationof the OK button A14 has been received in a state where the check boxC10 in the watermark setting screen DA1 is checked and the characterstring “COPY” in standard characters and the character string “COPY” inoutline characters are designated as watermarks (arrow F). In this case,the supporting program 42 checks whether the first settings are includedin the settings of the watermarks or not (arrow G). The process at thearrow G is an example of a determining process.

When the settings of the watermarks include the first settings, thesupporting program 42 generates intermediate combined image data (arrowH). The intermediate combined image data is, for example, XPS formatdata. The process at the arrow H is an example of a generating process.For example, the supporting program 42 combines a watermark with theintermediate image data by generating a command based on the firstsettings in the XPS format and adding the command to the intermediateimage data attached to the execution command (arrow H). Determining thatthe settings of a watermark include the first settings is an example ofa case where it is determined that no specific condition is set.

For example, when the character string “COPY” in standard characters andthe character string “COPY” in outline characters are designated aswatermarks, with regard to the character string “COPY” in standardcharacters, for example, the setting value indicating “place thewatermark on the foremost plane of an image subjected to be printed”among setting values of the watermark placing plane, the setting valueindicating “place standard characters” among setting values indicatingthat characters are to be placed, and the remaining setting valuesconcerning the standard characters (e.g., a position of the standardcharacters within an image subjected to be printed, size, tilt and fontof the standard characters) are set in the print parameters. And, withregard to the character string “COPY” in outline characters, forexample, the setting value indicating “place the watermark on theforemost plane of an image subjected to be printed” among setting valuesof the watermark placing plane, the setting indicating “place outlinecharacters” among setting values indicating that characters are to beplaced, and the remaining settings concerning the outline characters(e.g., a position of the outline characters within an image subjected tobe printed, size, inclination and font of the outline characters) areset in the print parameters. The settings of the character string “COPY”in standard characters correspond to the first settings, and thesettings of the character string “COPY” in outline characters correspondto the second settings.

In this case, the supporting program 42 generates intermediate imagedata for the character string “COPY” in standard characters which is thefirst settings. That is, the supporting program 42 generates an XPScommand indicating “place the watermark on the foremost plane of animage subjected to be printed” and adds the XPS command to theintermediate image data in XPS format. Then, the supporting program 42generates an XPS command indicating the character string “COPY” to beplaced, an XPS command indicating a position, in an image subjected tobe printed, where the character string is to be placed, and XPS commandsindicating size, tilt and font of the character string, and adds theseXPS commands to the intermediate image data in XPS format. An image ofthe character string “COPY” in standard characters is thereby combinedwith the intermediate image data. The intermediate image data to whichthe XPS commands are added is the intermediate combined image data.

It is noted that, when, for example, an image registered in the storagearea that the general-use printing program 41 can use is set as awatermark, settings concerning the image correspond to the firstsettings. In this case, the supporting program 42 generates XPS commandsindicating the setting values concerning the image to be placed (i.e., apath to an image file of the image), a position of the image within animage subjected to be printed and size and tilt of the image, and addsthese XPS commands to the intermediate image data in XPS format.

It is noted that, since the settings of the character string “COPY” inoutline characters do not correspond to the first settings, the processat the arrow H is not executed for the character string “COPY” inoutline characters. That is, intermediate combined image data for awatermark in outline characters will not be generated at the arrow H.

Upon generating the intermediate combined image data, the supportingprogram 42 outputs an end notification (arrow I). In response to receiptof the end notification, the general-use printing program 41 generatesprint data (arrow J). The intermediate combined image data is attachedto the end notification, and the general-use printing program 41generates print data based on the intermediate combined image data. Theprint data is, for example, raster image data in bitmap format. Theprint data generated at the arrow J based on the intermediate combinedimage data is an example of second image data.

The general-use printing program 41 which generated the print dataoutputs an execution command (arrow K). The execution command includesthe print data, which the general-use printing program 41 has generatedbased on the intermediate combined image data, and print parameters. Theprint parameters include settings that has not been processed at thearrow H, that is, the second settings. Specifically, the settings of thecharacter string “COPY” in outline characters are included.

The supporting program 42 can obtain the print data from the executioncommand (arrow L). The process at the arrow L is an example of anobtaining process. The print data obtained at the arrow L is an exampleof the second image data. The supporting program 42 which obtained theprint data checks whether the print parameters attached to the printdata include settings of a watermark or not (arrow M). If settings of awatermark are included in the print parameter, the supporting program 42determines whether the settings of a watermark include the secondsettings (arrow N). The process at the arrow N is an example of thedetermining process. Determining that the settings of a watermarkinclude the second settings is an example of determining that a specificcondition is set. If the settings of a watermark include the secondsettings, the supporting program 42 generates combined data based on thesecond settings. The combined data is raster image data of an imageindicating a watermark (arrow O). The process at the arrow O is anexample of the generating process. The supporting program 42 generatescombined image data by combining the combined data with the print data(arrow P). The process at the arrow P is an example of the combiningprocess. The combined data is an example of specific data and firstimage data.

When the character string “COPY” in standard characters and thecharacter string “COPY” in outline characters are designated aswatermarks as described above, for example, the supporting program 42obtains raster image data of an image G10 shown in FIG. 5 including thecharacter string “COPY” in standard characters and an image subjected tobe printed from the general-use printing program 41 (arrow M). The printdata includes the settings concerning the character string “COPY” inoutline characters which have not been processed at the arrow H, thatis, the second settings. In this case, the supporting program 42obtains, from among pieces of font image data indicated by fontsettings, font image data to be used for the character string “COPY” andprocesses the obtained font image data to generate outline characterimage data of an image G12 including the character string “COPY” inoutline characters (arrow O). Then, the supporting program 42 generatesimage data of a combined image G15 by combining the outline characterimage data of the image G12 with the raster image data of the image G10in accordance with the settings of the character string “COPY” inoutline characters, for example, the setting value indicating “place thewatermark on the foremost plane of an image subjected to be printed” andthe setting values concerning a position of the outline characterswithin an image subjected to be printed, size and tilt of the characterstring in outline characters (arrow P).

It is noted that, for example, the setting value indicating “place thewatermark between specific layers of an image subjected to be printed”among setting values of the watermark placing plane and the remainingsetting values when the above setting value is set correspond to thesecond settings. When such second settings are included in the printparameter, the supporting program 42 obtains, from among pieces of fontimage data indicated by font settings, font image data to be used forthe character string (arrow O). In this case, a process for processingcharacters into outline characters may be executed as necessary. Then,the supporting program 42 combines the font image data with the printdata in accordance with the setting value indicating “place thewatermark between specific layers of an image subjected to be printed”and the setting values of a position of the character string within animage subjected to be printed, size and tilt of the character string(arrow P). It is noted that the character string may be an image.

The supporting program 42 which generates the combined image dataoutputs an end notification (arrow Q). In response to receipt of the endnotification, the general-use printing program 41 outputs a printcommand to the printer 2 (arrow R). When, for example, the characterstring “COPY in standard characters and the character string “COPY” inoutline characters are designated as watermarks and the processes at thearrows H, O and P has been executed as described above, the general-useprinting program 41 outputs the print command while attaching, to theprint command, the print data corresponding to the character string“COPY” in standard characters which has been generated by the processesat the arrows H and I and the combined image data corresponding to thecharacter string “COPY” in outline characters which has been generatedby the processes at the arrows O and P.

It is noted that, when an operation of the OK button A14 is received ina state where the check box C10 in the watermark setting screen DA1 isnot checked, the supporting program 42 edits the intermediate image dataand/or the print data attached to the execution command in accordancewith the print parameters and outputs the print data to the printer 2.That is, the supporting program 42 does not execute the processes at thearrows G, H and N-P.

As described above, when executing printing by using the general-useprinting program 41, the supporting program 42 of the present embodimentreceives the settings of image combining for combining a watermark withan image subjected to printing. When the settings of the image combiningare received, the supporting program 42 generates the specific data forexecuting the image combining. Therefore, according to the presentsupporting program 42, even when executing printing by using thegeneral-use printing program 41, it is possible to execute the imagecombining which is a function that is intrinsic to the printer 2 or thesupporting program 42.

In the above description, a case where the print parameters include boththe first settings and the second settings has been described. However,when the settings of a watermark include only the first settings, theprocesses at the arrows K-Q may be omitted and, after generating printdata at the arrow J, the generated print data may be transmitted to theprinter 2 at the arrow R. In that case, the print data generated inarrow J is an example of the third image data. Also, when, for example,the settings concerning a watermark only include the second settings,the process at the arrow H may be omitted and combined image datagenerated at the arrows O and P may be transmitted to the printer 2 asprint data.

If, for example, the supporting program 42 has a function of, forexample at the arrow H, generating an image file indicating an imagecorresponding to the second settings (for example, an image of outlinecharacters), and registering the image file in the storage area that thegeneral-use printing program 41 can use, the settings of the outlinecharacters may be handled as the first settings. In this case, whengenerating the intermediate combined image data, the supporting program42 generates an XPS command including a path to an image file indicatingthe image of the outline characters and adds the XPS command to theintermediate combined image data. The general-use printing program 41obtains the image of the outline characters in accordance with the pathto the image file and generates print data.

Second Embodiment

Next, the second embodiment of the present disclosure will be described.The present embodiment differs from the first embodiment in that thesupporting program 42 transmits a command to the general-use printingprogram 41 in accordance with the settings of a watermark. A process forcombining a watermark with an image subjected to printing will bedescribed with reference to a sequential chart shown in FIG. 6 . It isnoted that, among processes shown in FIG. 6 , processes that are commonto those shown in FIG. 2 are assigned the same numerals as those used inFIG. 2 and descriptions thereof are appropriately omitted. In the secondembodiment, the supporting program 42 does not execute processes forcombining a watermark with an image subjected to printing prior togenerating print data, that is, the processes at the arrows F-H shown inFIG. 2 .

There are printers which have a function of adding a watermark. A flagis set to printer information stored in the memory 12 if a printercorresponding to the printer information has the function of adding awatermark.

Upon obtaining the print data generated by the general-use printingprogram 41 (arrow L), the supporting program 42 determines whethersettings of a watermark are included in the print parameters (arrow M).Then, if settings of a watermark are included in the print parameters,the supporting program 42 checks whether the printer 2 has the functionof adding a watermark or not (arrow U). That is, the supporting program42 determines whether a flag is set to the printer information of theprinter 2.

If the flag is set to the printer information of the printer 2, thesupporting program 42 determines that the printer 2 has the function ofadding a watermark and generates a command for combining the watermarkwith the print data (arrow V). That is, the supporting program 42generates a command that is similar to the command to be generated bythe process at the arrow H of the first embodiment. The supportingprogram 42 further generates a command corresponding to the secondsettings which are to be used in the process at the arrow O of the firstembodiment. Then, the supporting program 42 adds the generated commandto the print data (arrow W) and outputs an end notification (arrow X).The general-use printing program 41 outputs the print data to which thecommand is added to the printer 2 (arrow Y). The printer 2 prints theprint data in accordance with the command That is, the printer 2combines the watermark with an image subjected to printing by itself andexecutes printing. In accordance with the command, the printer 2generates print data with a process similar to that at the arrow J ofthe first embodiment or generates combined data and combines thecombined data with the print data generated by the general-use printingprogram 41 with processes similar to those at the arrows O and P of thefirst embodiment. That is, similarly to the first embodiment, theprinter 2 can print an image with which the watermark is combined. It isnoted that the print data transmitted in the arrow Y is an example ofthe before-combined image data.

If no flag is set to the printer information of the printer 2, thesupporting program 42 determines that the printer 2 does not have thefunction of adding a watermark, executes the processes at the arrows M-Pdescribed above and transmit the combined image data to the printer 2.In this case, the supporting program 42 executes the processes at thearrows O and P even when the settings indicated by the print parametersinclude the first settings. That is, if the printer 2 does not have thefunction of adding a watermark, regardless of whether a watermarkincludes outline characters or not, the supporting program 42 generatescombined data and combines the combined data with the print data.

According to the present embodiment, since the printer 2 combines thewatermark with the image subjected to printing in accordance with thecommand, it is possible to realize the image combining even if the printinstruction is an instruction to execute printing using the general-useprinting program 41. For example, there is a case where the general-useprinting program 41 and the supporting program 42 cannot edit, in theXPS format, watermarks of special fonts and special images which aresupported by the printer 2, that is, preset objects. In such a case, byconfiguring to transmit a command to the printer 2 to cause the printer2 to combine the preset objects with the image subjected to printing, itbecomes possible to combine watermarks that cannot be edited in the XPSformat with an image subjected to printing in the printer 2.

It is noted that the present embodiments are only illustrative examplesand is not intended to limit aspects of the present disclosures.Accordingly, the present disclosure can be modified or enhanced withoutdeparting from aspects of the disclosures. For example, the deviceconnected to the PC 1 need not be limited to the printer but may be anydevice which has a printing function (e.g., an MFP, a copier, afacsimile machine and the like). Further, the number of printersconnected to the PC 1 need not be limited to that in the illustratedexample but may be one or three or more.

A module that executes respective processes of the present embodimentsis not limited to the supporting program 42. For example, the moduleonly needs to be a program that receives an instruction from the OS 21when executing printing using the general-use printing program 41 of theOS 21. For example, the module may be Print workflow of whichspecification is disclosed by Microsoft.

All the combining processes for a watermark may be executed in theprocesses at the arrows P and Q without executing the processes at thearrows H and I shown in FIG. 2 . According to this configuration, aswith the above-described embodiments, even if the print instruction isan instruction to the general-use printing program 41, a watermark canbe combined with an image. However, it may takes time to combine rasterimage data of the watermark with raster image data of the imagesubjected to printing. In contrast, as in the above-describedembodiments, by executing the processes at the arrows H and I shown inFIG. 2 when a watermark is to be combined as standard characters and byexecuting the processes at the arrows P and Q when a watermark is to becombined as outline characters, processes concerning the combining of awatermark can be completed faster.

In the above embodiments, combining of a watermark is given as anexample of combining printing for convenience sake. In place of awatermark, other combining printing may be executed similarly to theabove-described processes. For example, the present print system may beused in a ground tint printing in which an image such as a company logois printed as ground tint by receiving a setting for placing the imageat a plurality of positions on a rearmost plane of an image subjected toprinting while lowering density of the image.

The print system may be configured such that, when the settings of thewatermark include only the first settings, that is, when the settings ofthe watermark does not include the second settings, the processes at thearrows G-I shown in FIG. 2 are executed after the process at the arrowF, and when the settings of the watermark includes the second settings,the processes at the arrows U, O-R and V-Y shown in FIG. 6 are executed.The settings of the watermark including the second settings is anexample of the specific condition. The print data generated by thegeneral-use printing program 41 after processes of the arrow G-I is anexample of after-combined image data. There are watermarks which taketime to be combined with an image through the combining process by theprinter 2. Even in this case, printing can be completed faster bycombining the watermarks using the supporting program 42 when thesupporting program 42 can execute the combining process.

In FIGS. 2 and 6 , the combining processes by the supporting program 42are described. However, the supporting program 42 may execute processesother than the combining processes, such as edition of the intermediateimage data and edition of the print data.

A receiving method of the print parameter has a plurality of variationsother than the above-described embodiments. The print parameters inputthrough the editing APP 43 may be received by transmitting to thesupporting program 42 via the general-use printing program 41. Thesupporting program 42 may obtain the print parameters included in theexecution command received at the arrow D and may execute thedetermining process at the arrows G and N. The supporting program 42 mayobtain the print parameters included in the execution command receivedat the arrow K and may execute the determining process at the arrow N.For example, after obtaining the print data at the arrow L, thesupporting program 42 may receive settings of the print parametersthrough a process similar to that at the arrow E, that is, thesupporting program may cause the UI 20 to display the print parameterediting screen and receive settings of the print parameters, and mayexecute the determining process at the arrow N for the received settingsof the print parameters. The process at the arrow E may be executedafter obtaining the print data at the arrow L.

In any of the sequential charts disclosed in the embodiment, the orderof multiple processes at arbitrary multiple steps may be changedarbitrarily or may be executed in parallel unless there occurs conflictsin processing contents.

The processes disclosed in the present embodiment may be executed by asingle CPU, a plurality of CPU's, hardware such as an ASIC or acombination thereof. Further, the processes disclosed in the presentembodiment may be realized by various modes such as a non-transitoryrecording medium storing programs for executing the processes, methodsfor executing the processes and the like.

What is claimed is:
 1. A non-transitory computer-readable recordingmedium for an information processing apparatus, the informationprocessing apparatus having a controller, the recording mediumcontaining computer-executable programs realizing a supporting programcorresponding to a printer connectable to the information processingapparatus, the supporting program causing, when executed by thecontroller, the information processing apparatus to perform: a receivingprocess when a print instruction is input to a general-use printingprogram, the print instruction causing the printer to execute printingof an image, the general-use printing program being a programimplemented in an operating system of the information processingapparatus, the receiving process being a process of receiving a printparameter of printing corresponding to the print instruction, the printparameter including a setting of editing of a target image based on aspecific object, the target image being an image subjected to printingbased on the print instruction; and a generating process of generatingspecific data to be edited with generated data, the generated data beingdata generated by the general-use printing program based on the targetimage, the target image being an image subjected to printing when thesetting of the editing is received in the receiving process.
 2. Thenon-transitory computer-readable recording medium according to claim 1,wherein, in the generating process, based on the setting of the editingreceived in the receiving process, first image data is generated as thespecific data, the first image data being raster image data of thespecific object, wherein the supporting program causes, when executed bythe controller, causes the information processing apparatus to perform:an obtaining process of obtaining second image data being raster imagedata generated by the general-use printing program based on image dataindicating the target image subjected to printing based on the printinstruction; and an editing process of generating edited image databased on the first image data generated in the generating process andthe second image data obtained in the obtaining process, and wherein thegeneral-use printing program transmits the edited image data generatedin the editing process to the printer.
 3. The non-transitorycomputer-readable recording medium according to claim 2, wherein theediting process is a process of generating combined image data as theedited image data, the combined image data being image data in which thefirst image data generated in the generating process and the secondimage data obtained in the obtaining process are combined.
 4. Thenon-transitory computer-readable recording medium according to claim 2,wherein the supporting program causes, when executed by the controller,causes the information processing apparatus to perform: a determiningprocess of determining whether a specific condition is set as a settingof the editing received in the receiving process, when it is determinedthat the specific condition is set: generating the first image data asthe specific data in the generating process; the obtaining process; andthe editing process, when it is determined that the specific conditionis not set, generating intermediate edited image data as the specificdata in the generating process, the intermediate edited image data beingdata indicating an image the target image subjected to printing isedited with using the specific object based on the print instruction,the general-use printing program generating third image data beingraster data based on the intermediate edited image data, andtransmitting the third image data to the printer.
 5. The non-transitorycomputer-readable recording medium according to claim 4, wherein thesetting of the editing to be received by the receiving process includesa first setting and a second setting, the first setting being a settingwhich corresponds to a data format of the intermediate edited imagedata, the second setting being a setting which does not correspond tothe data format of the intermediate edited image data, and wherein, whenthe setting of the editing received in the receiving process includesthe second setting, it is determined in the determining process that thespecific condition is set.
 6. The non-transitory computer-readablerecording medium according to claim 5, wherein the specific object is acharacter string, and wherein the second setting is a setting ofprocessing the character string of the specific object into outlinecharacter.
 7. The non-transitory computer-readable recording mediumaccording to claim 1, wherein, in the generating process, the supportingprogram causes, when executed by the controller, causes the informationprocessing apparatus to perform generating a command to edit the targetimage subjected to printing with using the specific object based on theprint instruction and generating print data as the specific data, theprint data being data in which the command is attached to before-editedimage data, the before-edited image data being raster image datagenerated by the general-use printing program, the general-use printingprogram transmitting the print data generated in the generating processto the printer, the printer having a function of generating edited imagedata indicating an edited image a before-edited image is edited withusing the specific object based on the command attached to the printinstruction.
 8. The non-transitory computer-readable recording mediumaccording to claim 7, wherein the supporting program causes, whenexecuted by the controller, causes the information processing apparatusto perform: a determining process of determining whether a specificcondition is set as a setting of the editing received in the receivingprocess, when it is determined that the specific condition is set,generating the print data as the specific data in the generatingprocess, the print data being data in which the command is attached tobefore-edited image data, the before-edited image data being rasterimage data generated by the general-use printing program, thegeneral-use printing program transmitting the print data generated inthe generating process to the printer; when it is determined that thespecific condition is not set, generating intermediate edited image dataas the specific data in the generating process, the intermediate editedimage data indicating an image in which the target image subjected toprinting is edited with using the specific object based on the printinstruction, the general-use printing program generating after-editedimage data and transmitting the after-edited image data to the printer,the after-edited image data being raster image data based on theintermediate edited image data.
 9. The non-transitory computer-readablerecording medium according to claim 8, wherein the setting of theediting to be received by the receiving process includes a first settingand a second setting, the first setting being a setting whichcorresponds to a data format of the intermediate edited image data, thesecond setting being a setting which does not correspond to the dataformat of the intermediate edited image data, and wherein, when thesetting of the editing received in the receiving process includes thesecond setting, it is determined, in the determining process, that thespecific condition is set.
 10. The non-transitory computer-readablerecording medium according to claim 9, wherein the second setting is asetting of using a preset object stored in the printer in advance as thespecific object.
 11. An information processing apparatus having acontroller, wherein a general-use printing program is implemented in anoperating system of the information processing apparatus, wherein asupporting program is implemented in the information processingapparatus, the supporting program corresponding to a printer connectableto the information processing apparatus, wherein the controllerperforms: a receiving process when a print instruction is input to ageneral-use printing program, the print instruction causing the printerto execute printing of an image, the general-use printing program beinga program implemented in an operating system of the informationprocessing apparatus, the receiving process being a process of receivinga print parameter of printing corresponding to the print instruction,the print parameter including a setting of editing of a target imagebased on a specific object, the target image being an image subjected toprinting based on the print instruction; and a generating process ofgenerating specific data to be edited with generated data, the generateddata being data generated by the general-use printing program based onthe target image, the target image being an image subjected to printingwhen the setting of the editing is received in the receiving process.12. A printing method of controlling an information processing apparatushaving a controller, wherein a general-use printing program isimplemented in an operating system of the information processingapparatus, wherein a supporting program is implemented in theinformation processing apparatus, the supporting program correspondingto a printer connectable to the information processing apparatus,wherein the method includes: when a print instruction is input to ageneral-use printing program, receiving a print parameter of printingcorresponding to the print instruction, the print instruction causingthe printer to execute printing of an image, the general-use printingprogram being a program implemented in an operating system of theinformation processing apparatus, the print parameter including asetting of editing of a target image based on a specific object with,the target image being an image subjected to printing based on the printinstruction; and generating specific data to be edited with generateddata, the generated data being data generated by the general-useprinting program based on the target image, the target image being animage subjected to printing when the setting of the editing is received.